// dva 是一个基于 redux 和 redux-saga 的数据流方案
// 官方的包叫dva-core,dva-core-ts是为了支持ts而更改的，只是增加了ts的声明文件
import  { create } from 'dva-core-ts';
import models from '@/models/index';
import Toast from 'react-native-root-toast';
// dva集成的异步函数加loading效果的包
import createLoading from 'dva-loading-ts';
// 创建dva实例
const app = create({
  // 请求发生错误时进行统一处理
  onError: (e) => {
      Toast.show('网络异常', {
          position: Toast.positions.CENTER,
          duration: Toast.durations.LONG,
          shadow: true,
          animation: true
      })
  }
});
// 加载model对象
// model是一个数组
models.forEach( model => {
  app.model(model)
})
// 使用中间件达到一个异步请求数据时有加载效果
app.use(createLoading());
// 启动dva
app.start();
// 导出dva数据
export default app._store;